#ifndef SIMPLEBGSUBMODEL_H
#define SIMPLEBGSUBMODEL_H

#ifndef CV_H
#define CV_H
#include "cv.h"
using namespace cv;
#endif

#ifndef HIGHGUI_H
#define HIGHGUI_H
#include "highgui.h"
#endif

#ifndef CXCORE_H
#define CXCORE_H
#include "cxcore.h"
#endif

#ifndef IOSTREAM_H
#define IOSTREAM_H
#include <iostream>
using namespace std;
#endif

class SimpleBgSubModel{
public:
	unsigned int m_frameCount;
	Mat m_avgFrame;
	Mat m_preFrame;
	Mat m_diffFrame;
	Mat m_highFrame;
	Mat m_lowFrame;
	unsigned int m_width;
	unsigned int m_height;
public:
	SimpleBgSubModel();
	~SimpleBgSubModel();
	void AccumulateBackground(const Mat &frame);
	void ScaleHigh(const float &scale);
	void ScaleLow(const float &scale);
	void CreateModel(/*Mat *frames, const int &frameCount, */const float &scaleHigh, const float &scaleLow);
	void BackgroundDiff(const Mat &img, Mat &mask);
};

#endif